package com.ruoyi.starbucks.domain;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 星巴克卡包表对象 starbucks_cards
 *
 * @author ruoyi
 * @date 2021-01-08
 */
public class StarbucksCards extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private BigInteger id;

    /**
     * 账户id
     */
    @Excel(name = "账户id")
    private String userId;

    /**
     * 账户token
     */
    @Excel(name = "账户token")
    private String token;

    /**
     * 关联类型
     */
    @Excel(name = "关联类型")
    private String reason;

    /**
     * 购买日期
     */
    @Excel(name = "购买日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseDate;

    /**
     * 是否物理卡
     */
    @Excel(name = "是否物理卡")
    private String isPhysical;

    /**
     * 卡类型
     */
    @Excel(name = " 卡类型")
    private String cardType;

    /**
     * 卡片激活渠道
     */
    @Excel(name = "卡片激活渠道")
    private String activeCardChannel;

    /**
     * 购买门店
     */
    @Excel(name = "购买门店")
    private String purchaseStore;

    /**
     * 过期日期
     */
    @Excel(name = "过期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expiryDate;

    /**
     * SVC=星礼卡 MSR=星享卡
     */
    @Excel(name = "SVC=星礼卡 MSR=星享卡")
    private String domain;

    /**
     * 卡片种子过期时间
     */
    @Excel(name = "卡片种子过期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date qrseedExpiredAt;

    /**
     * 卡片OpeinId
     */
    @Excel(name = "卡片OpeinId")
    private String qrseedOpenId;

    /**
     * 卡片token
     */
    @Excel(name = "卡片token")
    private String qrseedToken;

    /**
     * 卡号
     */
    @Excel(name = "卡号")
    private String cardNumber;

    /**
     * 卡片状态
     */
    @Excel(name = "卡片状态")
    private String cardStatus;

    /**
     * 余额
     */
    @Excel(name = "余额")
    private BigDecimal balance;

    /**
     * 会员id
     */
    @Excel(name = "会员id")
    private String memberId;

    public void setId(BigInteger id) {
        this.id = id;
    }

    public BigInteger getId() {
        return id;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserId() {
        return userId;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public String getToken() {
        return token;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getReason() {
        return reason;
    }

    public void setPurchaseDate(Date purchaseDate) {
        this.purchaseDate = purchaseDate;
    }

    public Date getPurchaseDate() {
        return purchaseDate;
    }

    public void setIsPhysical(String isPhysical) {
        this.isPhysical = isPhysical;
    }

    public String getIsPhysical() {
        return isPhysical;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    public String getCardType() {
        return cardType;
    }

    public void setActiveCardChannel(String activeCardChannel) {
        this.activeCardChannel = activeCardChannel;
    }

    public String getActiveCardChannel() {
        return activeCardChannel;
    }

    public void setPurchaseStore(String purchaseStore) {
        this.purchaseStore = purchaseStore;
    }

    public String getPurchaseStore() {
        return purchaseStore;
    }

    public void setExpiryDate(Date expiryDate) {
        this.expiryDate = expiryDate;
    }

    public Date getExpiryDate() {
        return expiryDate;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public String getDomain() {
        return domain;
    }

    public void setQrseedExpiredAt(Date qrseedExpiredAt) {
        this.qrseedExpiredAt = qrseedExpiredAt;
    }

    public Date getQrseedExpiredAt() {
        return qrseedExpiredAt;
    }

    public void setQrseedOpenId(String qrseedOpenId) {
        this.qrseedOpenId = qrseedOpenId;
    }

    public String getQrseedOpenId() {
        return qrseedOpenId;
    }

    public void setQrseedToken(String qrseedToken) {
        this.qrseedToken = qrseedToken;
    }

    public String getQrseedToken() {
        return qrseedToken;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardStatus(String cardStatus) {
        this.cardStatus = cardStatus;
    }

    public String getCardStatus() {
        return cardStatus;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getMemberId() {
        return memberId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("token", getToken())
                .append("reason", getReason())
                .append("purchaseDate", getPurchaseDate())
                .append("isPhysical", getIsPhysical())
                .append("cardType", getCardType())
                .append("activeCardChannel", getActiveCardChannel())
                .append("purchaseStore", getPurchaseStore())
                .append("expiryDate", getExpiryDate())
                .append("domain", getDomain())
                .append("qrseedExpiredAt", getQrseedExpiredAt())
                .append("qrseedOpenId", getQrseedOpenId())
                .append("qrseedToken", getQrseedToken())
                .append("cardNumber", getCardNumber())
                .append("cardStatus", getCardStatus())
                .append("balance", getBalance())
                .append("memberId", getMemberId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}